/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package modelo;

import java.sql.SQLException;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import principal.Conectar;


public class m_orden extends Conectar {
    String codigoOrden,nombreOrden;
    float totalOrden;

    public String getCodigoOrden() {
        return codigoOrden;
    }

    public void setCodigoOrden(String codigoOrden) {
        this.codigoOrden = codigoOrden;
    }

    public String getNombreOrden() {
        return nombreOrden;
    }

    public void setNombreOrden(String nombreOrden) {
        this.nombreOrden = nombreOrden;
    }

    public float getTotalOrden() {
        return totalOrden;
    }

    public void setTotalOrden(float totalOrden) {
        this.totalOrden = totalOrden;
    }


       public boolean registrar(String nombre,float total,Vector<m_producto> consulta_productos,Vector<Integer>  consultar_ingredientes)
    {

            String sqlcodigo = "SELECT COUNT(DISTINCT codigoOrden) FROM torden";
            int codigoorden=autogenerar(sqlcodigo);
            String sql ="insert into torden (codigoOrden,nombre,total) values ('"+codigoorden+"','"+nombre+"',"+total+")";
            consultarSQL(sql);
            for (int i = 0; i < consulta_productos.size(); i++) {
                String sqlcodigo2 = "SELECT COUNT(DISTINCT codigo_r2) FROM tProductos_orden";
                int codigo_r2=autogenerar(sqlcodigo2);
                String sql2 = " insert into tProductos_orden(codigo_r2,cantidad_r2,codigoOrden,codigoProducto) values ('"+codigo_r2+"',"+consultar_ingredientes.elementAt(i)+",'"+codigoorden+"','"+consulta_productos.get(i).getCodigoProducto()+"')";
                consultarSQL(sql2);
            }
            return true;
    }

    public Vector<m_orden> consultarBD(){
    Vector<m_orden> consulta_ordenes = new Vector<m_orden>();
    String sql="select * from torden";
    consultarSQL(sql);
    try{

        while (rs.next()){
            m_orden  morden = new m_orden();
            morden.setCodigoOrden(rs.getString("codigoOrden"));
            morden.setNombreOrden(rs.getString("nombreorden"));
            morden.setTotalOrden(rs.getInt("totalorden"));
            consulta_ordenes.add(morden);
         }
    } catch (SQLException ex) {
        Logger.getLogger(m_orden.class.getName()).log(Level.SEVERE, null, ex);
    }
    return consulta_ordenes;
    }


    public Vector<m_consulta> consultarListadoBD(){
    Vector<m_consulta> consulta_listado = new Vector<m_consulta>();
    String sql="SELECT codigoProducto,nombreProducto,listado.cantidad,(precioProducto*listado.cantidad) as precio  FROM tProducto, (SELECT sum(tproductos_orden.cantidad_r2) as cantidad,tproductos_orden.codigoproducto AS codigo FROM tproductos_orden GROUP BY tproductos_orden.codigoProducto ) listado WHERE listado.codigo=codigoProducto  ORDER BY(listado.cantidad,(precioProducto*listado.cantidad))";
    consultarSQL(sql);
    try{
        while (rs.next()){
            m_consulta  mconsulta = new m_consulta();
            mconsulta.setCantidadOrden(Float.parseFloat(rs.getString("cantidad")));
            mconsulta.setNombreOrden(rs.getString("nombreProducto"));
            mconsulta.setPrecioOrden(Float.parseFloat(rs.getString("precio")));
            consulta_listado.add(mconsulta);
         }
    } catch (SQLException ex) {
        Logger.getLogger(m_consulta.class.getName()).log(Level.SEVERE, null, ex);
    }
    return consulta_listado;
    }

}
